home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan).7z / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / internet / webx / jpged26s.lzh / YUV.S < prev   
Text File  |  1996-04-14  |  24KB  |  1,413 lines

  1. *
  2. *
  3. *  YUV.S
  4. *
  5. *  ùúÄUâRâTâCâôò╧è╖âeâXâgâvâìâOâëâÇ
  6. *
  7. *
  8. .include    JPEG.MAC
  9. .include    work.inc
  10.  
  11. DITH_UL    equ    0
  12. DITH_UR equ     6
  13. DITH_DL equ    6+10*12
  14. DITH_DR equ    10*12
  15. *DITH_UL    equ    0
  16. *DITH_UR    equ    0
  17. *DITH_DL    equ    0
  18. *DITH_DR    equ    0
  19. *
  20.  
  21.   xdef   YUV_to_RGB,YUV_to_RGB2,YUV_to_RGB4
  22.  
  23.     .text
  24.  
  25. *
  26. *    éxétéué⌐éτéqéféaò╧è╖â}âNâì
  27. *
  28. *
  29. conv_y    macro Yin,RGBout
  30.     move.l  Yin,d1 * Y            #12+n
  31.     move.w  (a2,d1.w),d2    R    #14
  32.     or.w    (a5,d1.w),d2    G,I    #14
  33.     or.w    (a6,d1.w),d2    B    #14
  34.     swap.w  d1                #4
  35.     swap.w  d2                #4
  36.     move.w  DITH_UR(a2,d1.w),d2        R    #14
  37.     or.w    DITH_UR(a5,d1.w),d2    G,I    #14
  38.     or.w    DITH_UR(a6,d1.w),d2        B    #14
  39.     move.l  d2,RGBout            #12+n
  40.     endm                116+2n
  41. *
  42. *    éxétéué⌐éτéqéféaò╧è╖â}âNâìéQ
  43. *
  44. *
  45. conv_y2    macro Yin,RGBout
  46.     move.l  Yin,d1 * Y            #12+n
  47.     move.w  DITH_DL(a2,d1.w),d2        R    #14
  48.     or.w    DITH_DL(a5,d1.w),d2    G,I    #14
  49.     or.w    DITH_DL(a6,d1.w),d2        B    #14
  50.     swap.w  d1                #4
  51.     swap.w  d2                #4
  52.     move.w  DITH_DR(a2,d1.w),d2        R    #14
  53.     or.w    DITH_DR(a5,d1.w),d2    G,I    #14
  54.     or.w    DITH_DR(a6,d1.w),d2        B    #14
  55.     move.l  d2,RGBout            #12+n
  56.     endm                116+2n
  57.  
  58. *
  59. *    éxétéué⌐éτéqéféaò╧è╖â}âNâì
  60. *
  61. *
  62. conv_cy    macro RGBout
  63.     move.w  (a2),d2    R    #14
  64.     or.w    (a5),d2    G,I    #14
  65.     or.w    (a6),d2    B    #14
  66.     swap.w  d2                #4
  67.     move.w  DITH_UR(a2),d2    R    #14
  68.     or.w    DITH_UR(a5),d2    G,I    #14
  69.     or.w    DITH_UR(a6),d2    B    #14
  70.     move.l  d2,RGBout        #12+n
  71.     endm
  72. *
  73. *    éxétéué⌐éτéqéféaò╧è╖â}âNâìéQ
  74. *
  75. *
  76. conv_cy2    macro    RGBout
  77.     move.w  DITH_DL(a2),d2    R    #14
  78.     or.w    DITH_DL(a5),d2    G,I    #14
  79.     or.w    DITH_DL(a6),d2    B    #14
  80.     swap.w  d2                #4
  81.     move.w  DITH_DR(a2),d2    R    #14
  82.     or.w    DITH_DR(a5),d2    G,I    #14
  83.     or.w    DITH_DR(a6),d2    B    #14
  84.     move.l  d2,RGBout        #12+n
  85.     endm
  86.  
  87.  
  88. *
  89. *    éxétéué⌐éτéqéféaò╧è╖â}âNâìéR
  90. *
  91. *
  92. conv_cy3    macro    RGBout1,RGBout2
  93.     move.w  (a2),RGBout1        R    #14
  94.     or.w    (a5),RGBout1        G,I    #14
  95.     or.w    (a6),RGBout1        B    #14
  96.     swap.w  RGBout1                #4
  97.     move.w  DITH_UR(a2),RGBout1        R    #14
  98.     or.w    DITH_UR(a5),RGBout1    G,I    #14
  99.     or.w    DITH_UR(a6),RGBout1        B    #14
  100.  
  101.     move.w  DITH_DL(a2),RGBout2        R    #14
  102.     or.w    DITH_DL(a5),RGBout2    G,I    #14
  103.     or.w    DITH_DL(a6),RGBout2        B    #14
  104.     swap.w  RGBout2                #4
  105.     move.w  DITH_DR(a2),RGBout2        R    #14
  106.     or.w    DITH_DR(a5),RGBout2    G,I    #14
  107.     or.w    DITH_DR(a6),RGBout2        B    #14
  108.     endm
  109. *
  110. *    étɼò¬ò╧è╖â}âNâì
  111. *
  112. *
  113. conv_u    macro Uin
  114.  
  115.     move.w  Uin,a4 * U
  116.     adda.l  d0,a4
  117.     adda.w  -(a4),a6            d7 = 1.7718*U+0.0012*V
  118.     adda.w  -(a4),a5            d6 = 0.3441*U+0.7139*V
  119.     endm
  120. *
  121. *    éuɼò¬ò╧è╖â}âNâì
  122. *
  123. *
  124. conv_v    macro Vin
  125.     move.w  Vin,a4 * V
  126.     adda.l  d0,a4
  127.     adda.w  (a4)+,a2            1.4020
  128.     adda.w  (a4)+,a5            0.7319
  129.     adda.w  (a4),a6            0.0012
  130.     endm
  131. *
  132. *    éuɼò¬ò╧è╖â}âNâì
  133. *
  134. *
  135. convm_v    macro Vin
  136.     move.w  Vin,a4 * V
  137.     movem.w (a4,d0.l),a2/a5-a6        1.4020,0.7319,0.0012
  138.     endm
  139.  
  140. *
  141. *    étɼò¬ò╧è╖â}âNâì
  142. *
  143. *
  144. conv1_u    macro Uin
  145.     move.w  Uin,a4 * U
  146.     adda.l  d0,a4
  147.     add.w   -(a4),d3            1.7718    B
  148.     add.w   -(a4),d2            0.3441    G
  149.     endm
  150. *
  151. *    étɼò¬ò╧è╖â}âNâìéQ
  152. *
  153. *
  154. conv1_cu    macro Uin
  155.     move.w  Uin,a4 * U
  156.     movem.w  -4(a4,d0.l),d2-d3        0.3441,1.7718
  157.     endm
  158. *
  159. *    éuɼò¬ò╧è╖â}âNâì
  160. *
  161. *
  162. conv1_v    macro Vin
  163.     move.w  Vin,a4 * V
  164.     adda.l  d0,a4
  165.     add.w   (a4)+,d1            1.4020    R
  166.     add.w   (a4)+,d2            0.7319    G
  167.     add.w   (a4),d3            0.0012    B
  168.     endm
  169. *
  170. *    éuɼò¬ò╧è╖â}âNâìéQ
  171. *
  172. *
  173. conv1_cv    macro Vin
  174.     move.w  Vin,a4 * V
  175.     adda.l  d0,a4
  176.     move.w  (a4)+,d1        1.4020    R
  177.     move.w  (a4)+,d2        0.7319    G
  178.     move.w  (a4),d3        0.0012    B
  179.     endm
  180. *
  181. *    éuɼò¬ò╧è╖â}âNâìéQ
  182. *
  183. *
  184. conv1m_cv    macro Vin
  185.     move.w  Vin,a4 * V
  186.     movem.w  (a4,d0.l),d1-d3        1.4020,0.7319,0.0012    RGB
  187.     endm
  188. *
  189. *    éuɼò¬ò╧è╖â}âNâìéR
  190. *
  191. *
  192. conv1_cv2    macro Vin
  193.     move.w  Vin,a4 * V
  194.     adda.l   d0,a4
  195.     move.w   (a4)+,d1            1.4020    R
  196.     add.w    (a4)+,d2            0.7139    G
  197.     add.w    (a4)+,d3            0.0012    B
  198.     endm
  199. *
  200. *  RGB assemble
  201. *
  202. conv1_y    macro DITH_OFF,DITH_OFF2
  203.     move.w  DITH_OFF(a2,d1.w),d1    R
  204.     or.w    DITH_OFF2(a5,d2.w),d1    G,I
  205.     or.w    DITH_OFF(a6,d3.w),d1    B
  206.     endm
  207. *
  208. *
  209. *
  210. *  YUV to RGB
  211. *    a0     VRAM(w)
  212. *    a1     Ydata(w)
  213. *    a2     Udata(w)
  214. *    a3     Vdata(w)
  215. *
  216. *
  217. YUV_to_RGB
  218.   move.l  a6,d0
  219.   add.l   #YUV_RGB_TBL+V14020+1024*2*6,d0
  220.   movea.l a6,a2
  221.   adda.l  #RGB_TBL+1024*2*6,a2
  222.   movea.l a2,a5
  223.   movea.l a2,a6
  224.  
  225.   jmp     yuv1_tbl(pc,d2.w)
  226.  
  227.   align 4
  228. yuv1_tbl
  229.  
  230.   bra.w    yr10_yuv
  231.   bra.w    yr10_yu_
  232.   bra.w    yr10_y_v
  233.   bra.w    yr10_y__
  234.   bra.w    yr10__uv
  235.   bra.w    yr10__u_
  236.   bra.w    yr10___v
  237. *  bra.w    yr10_normal
  238.  
  239.  
  240. yr10_normal
  241.   moveq.l #4-1,d4
  242. yr15
  243.   moveq.l #4-1,d5
  244. yr20
  245.     move.l  (a1)+,d1 * Y
  246.     move.w  d1,d2
  247.     move.w  d1,d3
  248.  
  249.     conv1_u  udata1-vdata1(a3)
  250.     conv1_v  (a3)+
  251.     conv1_y
  252.  
  253.     swap.w  d1
  254.     move.w  d1,d2
  255.     move.w  d1,d3
  256.  
  257.     conv1_u  udata1-vdata1(a3)
  258.     conv1_v  (a3)+
  259.     conv1_y  DITH_UR,DITH_UR
  260.  
  261.     move.l  d1,(a0)+
  262.     dbra    d5,yr20
  263.   moveq.l  #4-1,d5
  264. yr25
  265.     move.l  (a1)+,d1 * Y
  266.     move.w  d1,d2
  267.     move.w  d1,d3
  268.  
  269.     conv1_u  udata1-vdata1(a3)
  270.     conv1_v  (a3)+
  271.     conv1_y  DITH_DL,DITH_DL
  272.  
  273.     swap.w  d1
  274.     move.w  d1,d2
  275.     move.w  d1,d3
  276.  
  277.     conv1_u  udata1-vdata1(a3)
  278.     conv1_v  (a3)+
  279.     conv1_y  DITH_DR,DITH_DR
  280.  
  281.     move.l  d1,(a0)+
  282.     dbra    d5,yr25
  283.    dbra    d4,yr15
  284.   rts
  285. *
  286. *
  287. *
  288. yr10___v
  289.   conv_v  (a3)
  290.   lea.l   udata1-vdata1(a3),a3
  291.   moveq.l #4-1,d4
  292. yr15___v
  293.   moveq.l #4-1,d5
  294. yr20___v
  295.     move.l  (a1)+,d1 * Y
  296.     move.w  d1,d2
  297.     move.w  d1,d3
  298.  
  299.     conv1_u (a3)+
  300.     conv1_y
  301.  
  302.     swap.w  d1
  303.     move.w  d1,d2
  304.     move.w  d1,d3
  305.  
  306.     conv1_u (a3)+
  307.     conv1_y DITH_UR,DITH_UR
  308.  
  309.     move.l  d1,(a0)+
  310.     dbra    d5,yr20___v
  311.   moveq.l #4-1,d5
  312. yr25___v
  313.     move.l  (a1)+,d1 * Y
  314.     move.w  d1,d2
  315.     move.w  d1,d3
  316.  
  317.     conv1_u (a3)+
  318.     conv1_y DITH_DL,DITH_DL
  319.  
  320.     swap.w  d1
  321.     move.w  d1,d2
  322.     move.w  d1,d3
  323.  
  324.     conv1_u (a3)+
  325.     conv1_y DITH_DR,DITH_DR
  326.  
  327.     move.l  d1,(a0)+
  328.     dbra    d5,yr25___v
  329.    dbra    d4,yr15___v
  330.   rts
  331. *
  332. *
  333. *
  334. yr10__u_
  335.   conv_u  udata1-vdata1(a3)
  336.   moveq.l #4-1,d4
  337. yr15__u_
  338.   moveq.l #4-1,d5
  339. yr20__u_
  340.     move.l  (a1)+,d1 * Y
  341.     move.w  d1,d2
  342.     move.w  d1,d3
  343.  
  344.     conv1_v (a3)+
  345.     conv1_y
  346.  
  347.     swap.w  d1
  348.     move.w  d1,d2
  349.     move.w  d1,d3
  350.  
  351.     conv1_v (a3)+
  352.     conv1_y DITH_UR,DITH_UR
  353.  
  354.     move.l  d1,(a0)+
  355.     dbra    d5,yr20__u_
  356.   moveq.l #4-1,d5
  357. yr25__u_
  358.     move.l  (a1)+,d1 * Y
  359.     move.w  d1,d2
  360.     move.w  d1,d3
  361.  
  362.     conv1_v (a3)+
  363.     conv1_y DITH_DL,DITH_DL
  364.  
  365.     swap.w  d1
  366.     move.w  d1,d2
  367.     move.w  d1,d3
  368.  
  369.     conv1_v (a3)+
  370.     conv1_y DITH_DR,DITH_DR
  371.  
  372.     move.l  d1,(a0)+
  373.     dbra    d5,yr25__u_
  374.    dbra    d4,yr15__u_
  375.   rts
  376. *
  377. *
  378. *
  379. yr10__uv
  380.  
  381.     conv_u  udata1-vdata1(a3)
  382.     conv_v  (a3)
  383.  
  384.   moveq.l #4-1,d4
  385.  
  386. yr10__uv_1
  387.  
  388.     rept    4
  389.     conv_y  (a1)+,(a0)+
  390.     endm
  391.     rept    4
  392.     conv_y2  (a1)+,(a0)+
  393.     endm
  394.  
  395.     dbra    d4,yr10__uv_1
  396.   rts
  397. *
  398. *
  399. *
  400. yr10_y__
  401.   move.w  (a1),d1 * Y
  402.   ext.l   d1
  403.   adda.l  d1,a2
  404.   adda.l  d1,a5
  405.   adda.l  d1,a6
  406.   moveq.l #4-1,d4
  407. yr15_y__
  408.   moveq.l  #4-1,d5
  409. yr20_y__
  410.  
  411.     conv1_cu   udata1-vdata1(a3)
  412.     conv1_cv2  (a3)+
  413.     conv1_y
  414.  
  415.     swap.w  d1
  416.  
  417.     conv1_cu   udata1-vdata1(a3)
  418.     conv1_cv2  (a3)+
  419.     conv1_y    DITH_UR,DITH_UR
  420.  
  421.     move.l  d1,(a0)+
  422.     dbra    d5,yr20_y__
  423.   moveq.l  #4-1,d5
  424. yr25_y__
  425.  
  426.     conv1_cu   udata1-vdata1(a3)
  427.     conv1_cv2  (a3)+
  428.     conv1_y    DITH_DL,DITH_DL
  429.  
  430.     swap.w  d1
  431.  
  432.     conv1_cu   udata1-vdata1(a3)
  433.     conv1_cv2  (a3)+
  434.     conv1_y    DITH_DR,DITH_DR
  435.  
  436.     move.l  d1,(a0)+
  437.     dbra    d5,yr25_y__
  438.    dbra    d4,yr15_y__
  439.   rts
  440. *
  441. *
  442. *
  443. yr10_y_v
  444.   move.w  (a1),d1 * Y
  445.   ext.l   d1
  446.   adda.l  d1,a2
  447.   adda.l  d1,a5
  448.   adda.l  d1,a6
  449.   conv_v  (a3)
  450.   lea.l   udata1-vdata1(a3),a3
  451.   moveq.l #4-1,d4
  452. yr15_y_v
  453.   moveq.l #4-1,d5
  454. yr20_y_v
  455.     conv1_cu (a3)+
  456.     move.w  (a2),d1        R
  457.     or.w    (a5,d2.w),d1    G,I
  458.     or.w    (a6,d3.w),d1    B
  459.  
  460.     swap.w  d1
  461.  
  462.     conv1_cu (a3)+
  463.     move.w  DITH_UR(a2),d1        R
  464.     or.w    DITH_UR(a5,d2.w),d1    G,I
  465.     or.w    DITH_UR(a6,d3.w),d1        B
  466.  
  467.     move.l  d1,(a0)+
  468.     dbra    d5,yr20_y_v
  469.   moveq.l #4-1,d5
  470. yr25_y_v
  471.     conv1_cu (a3)+
  472.     move.w  DITH_DL(a2),d1        R
  473.     or.w    DITH_DL(a5,d2.w),d1    G,I
  474.     or.w    DITH_DL(a6,d3.w),d1        B
  475.  
  476.     swap.w  d1
  477.  
  478.     conv1_cu (a3)+
  479.     move.w  DITH_DR(a2),d1        R
  480.     or.w    DITH_DR(a5,d2.w),d1    G,I
  481.     or.w    DITH_DR(a6,d3.w),d1        B
  482.  
  483.     move.l  d1,(a0)+
  484.     dbra    d5,yr25_y_v
  485.    dbra    d4,yr15_y_v
  486.   rts
  487. *
  488. *
  489. *
  490. yr10_yu_
  491.   move.w  (a1),d1 * Y
  492.   ext.l   d1
  493.   adda.l  d1,a2
  494.   adda.l  d1,a5
  495.   adda.l  d1,a6
  496.   conv_u  udata1-vdata1(a3)
  497.   moveq.l #4-1,d4
  498. yr15_yu_
  499.   moveq.l #4-1,d5
  500. yr20_yu_
  501.  
  502.     conv1m_cv (a3)+
  503.     conv1_y
  504.  
  505.     swap.w  d1
  506.  
  507.     conv1_cv (a3)+
  508.     conv1_y DITH_UR,DITH_UR
  509.  
  510.     move.l  d1,(a0)+
  511.     dbra    d5,yr20_yu_
  512.  
  513.   moveq.l #4-1,d5
  514. yr25_yu_
  515.  
  516.     conv1m_cv (a3)+
  517.     conv1_y DITH_DL,DITH_DL
  518.  
  519.     swap.w  d1
  520.  
  521.     conv1_cv (a3)+
  522.     conv1_y DITH_DR,DITH_DR
  523.  
  524.     move.l  d1,(a0)+
  525.     dbra    d5,yr25_yu_
  526.    dbra    d4,yr15_yu_
  527.   rts
  528. *
  529. *
  530. *
  531. yr10_yuv
  532.  
  533.     move.w  (a1),d1 * Y
  534.     move.w  d1,d2
  535.     move.w  d1,d3
  536.  
  537.     conv1_u  udata1-vdata1(a3)
  538.     conv1_v  (a3)
  539.  
  540.     adda.w  d1,a2
  541.     adda.w  d2,a5
  542.     adda.w  d3,a6
  543.  
  544. *
  545. *  RGB assemble
  546. *
  547.     conv_cy3 d0,d4
  548.  
  549.     move.l  d0,d1
  550.     move.l  d0,d2
  551.     move.l  d0,d3
  552.     move.l  d4,d5
  553.     move.l  d4,d6
  554.     move.l  d4,d7
  555.     lea.l   64*2(a0),a0
  556.     rept    4
  557.     movem.l d0-d7,-(a0)
  558.     endm
  559.     rts
  560.  
  561. *
  562. *    éPü^éQé╔è╘ê°é⌐éΩé╜Ä₧é╠éxétéué⌐éτéqéféaò╧è╖
  563. *
  564. *  YUV to RGB 2
  565. *    a0     VRAM(w)
  566. *    a1     Ydata(w)
  567. *    a2     Udata(w)
  568. *    a3     Vdata(w)
  569. *
  570. *
  571. YUV_to_RGB2
  572.  
  573.   move.l  a6,d0
  574.   add.l   #YUV_RGB_TBL+V14020+1024*2*6,d0
  575.   jmp     yuv2_tbl(pc,d2.w)
  576.  
  577.   align 4
  578. yuv2_tbl
  579.  
  580.   bra.w    yr400_yyuv
  581.   bra.w    yr200_yyu_
  582.   bra.w    yr200_yy_v
  583.   bra.w    yr200_yy__
  584.   bra.w    yr400_y_uv
  585.   bra.w    yr200_y_u_
  586.   bra.w    yr200_y__v
  587.   bra.w    yr200_y___
  588.   bra.w    yr400__yuv
  589.   bra.w    yr200__yu_
  590.   bra.w    yr200__y_v
  591.   bra.w    yr200__y__
  592.   bra.w    yr400___uv
  593.   bra.w    yr200___u_
  594.   bra.w    yr200____v
  595. *  bra.w    yr200_normal
  596.  
  597. yr200_normal
  598.  
  599.   move.l a6,d3
  600.   add.l  #RGB_TBL+1024*2*6,d3
  601.   bsr     yr201
  602.   lea     -64*2+4*2(a3),a3
  603. yr201
  604.   moveq.l #4-1,d7
  605. yr205
  606.   moveq.l #4-1,d6
  607. yr210
  608.  
  609.     convm_v  (a3)+
  610.     adda.l  d3,a2            #4
  611.     adda.l  d3,a5            #4
  612.     adda.l  d3,a6            #4
  613.     conv_u  udata1-vdata1-2(a3)
  614.     conv_y  (a1)+,(a0)+
  615.  
  616.     dbra    d6,yr210
  617.  
  618.   addq.w  #4*2,a3
  619.   moveq.l #4-1,d6
  620. yr215
  621.  
  622.     convm_v   (a3)+
  623.     adda.l  d3,a2            #4
  624.     adda.l  d3,a5            #4
  625.     adda.l  d3,a6            #4
  626.     conv_u   udata1-vdata1-2(a3)
  627.     conv_y2  (a1)+,(a0)+
  628.  
  629.     dbra    d6,yr215
  630.   addq.w  #4*2,a3
  631.   dbra     d7,yr205
  632.   rts
  633. *
  634. *
  635. *
  636. yr200____v
  637.  
  638.   movea.l a6,a2
  639.   adda.l  #RGB_TBL+1024*2*6,a2
  640.   movea.l a2,a5
  641.   movea.l a2,a6
  642.   conv_v  (a3)
  643.   move.l  a5,d6
  644.   move.l  a6,d7
  645.   lea.l   udata1-vdata1(a3),a3
  646.  
  647.   bsr     yr201____v
  648.   lea     -64*2+4*2(a3),a3
  649.  
  650. yr201____v
  651.   moveq.l #4-1,d4
  652. yr205____v
  653.   moveq.l #4-1,d5
  654. yr210____v
  655.  
  656.     move.l  d6,a5            #4
  657.     move.l  d7,a6            #4
  658.  
  659.     conv_u  (a3)+
  660.     conv_y  (a1)+,(a0)+
  661.     dbra    d5,yr210____v
  662.  
  663.   addq.w  #4*2,a3
  664.   moveq.l #4-1,d5
  665. yr215____v
  666.  
  667.     move.l  d6,a5            #4
  668.     move.l  d7,a6            #4
  669.  
  670.     conv_u   (a3)+
  671.     conv_y2  (a1)+,(a0)+
  672.     dbra    d5,yr215____v
  673.   addq.w  #4*2,a3
  674.   dbra    d4,yr205____v
  675.   rts
  676.  
  677. *
  678. *
  679. *
  680. yr200___u_
  681.  
  682.   movea.l a6,a5
  683.   adda.l  #RGB_TBL+1024*2*6,a5
  684.   move.l  a5,d3
  685.   movea.l a5,a6
  686.   conv_u  udata1-vdata1(a3)
  687.   move.l  a5,d6
  688.   move.l  a6,d7
  689.  
  690.   bsr     yr201___u_
  691.   lea     -64*2+4*2(a3),a3
  692.  
  693. yr201___u_
  694.   moveq.l #4-1,d4
  695. yr205___u_
  696.   moveq.l #4-1,d5
  697. yr210___u_
  698.  
  699.     convm_v  (a3)+
  700.     adda.l  d3,a2            #4
  701.     adda.l  d6,a5            #4
  702.     adda.l  d7,a6            #4
  703.     conv_y  (a1)+,(a0)+
  704.     dbra    d5,yr210___u_
  705.  
  706.   addq.w  #4*2,a3
  707.   moveq.l #4-1,d5
  708. yr215___u_
  709.  
  710.     convm_v   (a3)+
  711.     adda.l  d3,a2            #4
  712.     adda.l  d6,a5            #4
  713.     adda.l  d7,a6            #4
  714.     conv_y2  (a1)+,(a0)+
  715.     dbra    d5,yr215___u_
  716.   addq.w  #4*2,a3
  717.   dbra    d4,yr205___u_
  718.   rts
  719. *
  720. *
  721. *
  722. yr200__y__
  723.  
  724.   move.l a6,d3
  725.   add.l  #RGB_TBL+1024*2*6,d3
  726.   bsr     yr201__y__
  727.   lea     -64*2+4*2(a3),a3
  728.   bra     yr201
  729. *
  730. *
  731. *
  732. yr200__y_v
  733.  
  734.   movea.l a6,a2
  735.   adda.l  #RGB_TBL+1024*2*6,a2
  736.   movea.l a2,a5
  737.   movea.l a2,a6
  738.   conv_v  (a3)
  739.   move.l  a5,d6
  740.   move.l  a6,d7
  741.   lea.l   udata1-vdata1(a3),a3
  742.  
  743.   bsr     yr201__y_v
  744.   lea     -64*2+4*2(a3),a3
  745.   bra     yr201____v
  746.  
  747. *
  748. *
  749. *
  750. yr200__yu_
  751.  
  752.   movea.l a6,a5
  753.   adda.l  #RGB_TBL+1024*2*6,a5
  754.   move.l  a5,d3
  755.   movea.l a5,a6
  756.   conv_u  udata1-vdata1(a3)
  757.   move.l  a5,d6
  758.   move.l  a6,d7
  759.  
  760.   bsr     yr201__yu_
  761.   lea     -64*2+4*2(a3),a3
  762.   bra     yr201___u_
  763. *
  764. *
  765. *
  766. yr200_y___
  767.  
  768.   move.l a6,d3
  769.   add.l  #RGB_TBL+1024*2*6,d3
  770.   bsr     yr201
  771.   lea     -64*2+4*2(a3),a3
  772.  
  773. yr201__y__
  774.   move.w  (a1),d1
  775.   ext.l   d1
  776.   add.l  d1,d3
  777.   moveq.l #4-1,d4
  778. yr205__y__
  779.   moveq.l  #4-1,d5
  780. yr210__y__
  781.  
  782.     convm_v  (a3)+
  783.     adda.l  d3,a2            #4
  784.     adda.l  d3,a5            #4
  785.     adda.l  d3,a6            #4
  786.     conv_u  udata1-vdata1-2(a3)
  787.     conv_cy (a0)+
  788.     dbra    d5,yr210__y__
  789.   addq.w  #4*2,a3
  790.   moveq.l  #4-1,d5
  791. yr215__y__
  792.  
  793.     convm_v   (a3)+
  794.     adda.l  d3,a2            #4
  795.     adda.l  d3,a5            #4
  796.     adda.l  d3,a6            #4
  797.     conv_u   udata1-vdata1-2(a3)
  798.     conv_cy2 (a0)+
  799.     dbra    d5,yr215__y__
  800.   addq.w  #4*2,a3
  801.   dbra    d4,yr205__y__
  802.   sub.l  d1,d3
  803.   lea     64*2(a1),a1
  804.   rts
  805. *
  806. *
  807. *
  808. yr200_y__v
  809.  
  810.   movea.l a6,a2
  811.   adda.l  #RGB_TBL+1024*2*6,a2
  812.   movea.l a2,a5
  813.   movea.l a2,a6
  814.   conv_v  (a3)
  815.   move.l  a5,d6
  816.   move.l  a6,d7
  817.   lea.l   udata1-vdata1(a3),a3
  818.   bsr     yr201____v
  819.   lea     -64*2+4*2(a3),a3
  820. yr201__y_v
  821.   move.w  (a1),d1
  822.   ext.l   d1
  823.   add.l  d1,a2
  824.   add.l  d1,d6
  825.   add.l  d1,d7
  826.   moveq.l #4-1,d4
  827. yr205__y_v
  828.   moveq.l  #4-1,d5
  829. yr210__y_v
  830.  
  831.     move.l  d6,a5            #4
  832.     move.l  d7,a6            #4
  833.  
  834.     conv_u  (a3)+
  835.     conv_cy (a0)+
  836.     dbra    d5,yr210__y_v
  837.   addq.w  #4*2,a3
  838.   moveq.l  #4-1,d5
  839. yr215__y_v
  840.  
  841.     move.l  d6,a5            #4
  842.     move.l  d7,a6            #4
  843.  
  844.     conv_u   (a3)+
  845.     conv_cy2 (a0)+
  846.     dbra    d5,yr215__y_v
  847.  
  848.   addq.w  #4*2,a3
  849.   dbra    d4,yr205__y_v
  850.   sub.l  d1,a2
  851.   sub.l  d1,d6
  852.   sub.l  d1,d7
  853.   lea     64*2(a1),a1
  854.   rts
  855. *
  856. *
  857. *
  858. yr200_y_u_
  859.  
  860.   movea.l a6,a5
  861.   adda.l  #RGB_TBL+1024*2*6,a5
  862.   move.l  a5,d3
  863.   movea.l a5,a6
  864.   conv_u  udata1-vdata1(a3)
  865.   move.l  a5,d6
  866.   move.l  a6,d7
  867.   bsr     yr201___u_
  868.   lea     -64*2+4*2(a3),a3
  869. yr201__yu_
  870.   move.w  (a1),d1
  871.   ext.l   d1
  872.   add.l  d1,d3
  873.   add.l  d1,d6
  874.   add.l  d1,d7
  875.   moveq.l #4-1,d4
  876. yr205__yu_
  877.   moveq.l  #4-1,d5
  878. yr210__yu_
  879.  
  880.     convm_v  (a3)+
  881.     adda.l  d3,a2            #4
  882.     adda.l  d6,a5            #4
  883.     adda.l  d7,a6            #4
  884.     conv_cy (a0)+
  885.     dbra    d5,yr210__yu_
  886.  
  887.   addq.w  #4*2,a3
  888.   moveq.l  #4-1,d5
  889. yr215__yu_
  890.  
  891.     convm_v   (a3)+
  892.     adda.l  d3,a2            #4
  893.     adda.l  d6,a5            #4
  894.     adda.l  d7,a6            #4
  895.     conv_cy2 (a0)+
  896.     dbra    d5,yr215__yu_
  897.   addq.w  #4*2,a3
  898.   dbra    d4,yr205__yu_
  899.  
  900.   sub.l  d1,d3
  901.   sub.l  d1,d6
  902.   sub.l  d1,d7
  903.   lea     64*2(a1),a1
  904.   rts
  905. *
  906. *
  907. *
  908. yr200_yy__
  909.  
  910.   move.l a6,d3
  911.   add.l  #RGB_TBL+1024*2*6,d3
  912.   bsr     yr201__y__
  913.   lea     -64*2+4*2(a3),a3
  914.   bra     yr201__y__
  915. *
  916. *
  917. *
  918. yr200_yy_v
  919.  
  920.   movea.l a6,a2
  921.   adda.l  #RGB_TBL+1024*2*6,a2
  922.   movea.l a2,a5
  923.   movea.l a2,a6
  924.   conv_v  (a3)
  925.   move.l  a5,d6
  926.   move.l  a6,d7
  927.   lea.l   udata1-vdata1(a3),a3
  928.   bsr     yr201__y_v
  929.   lea     -64*2+4*2(a3),a3
  930.   bra     yr201__y_v
  931. *
  932. *
  933. *
  934. yr200_yyu_
  935.  
  936.   movea.l a6,a5
  937.   adda.l  #RGB_TBL+1024*2*6,a5
  938.   move.l  a5,d3
  939.   movea.l a5,a6
  940.   conv_u  udata1-vdata1(a3)
  941.   move.l  a5,d6
  942.   move.l  a6,d7
  943.   bsr     yr201__yu_
  944.   lea     -64*2+4*2(a3),a3
  945.   bra     yr201__yu_
  946. *
  947. *    éPü^éSé╔è╘ê°é⌐éΩé╜Ä₧é╠éxétéué⌐éτéqéféaò╧è╖
  948. *
  949. *  YUV to RGB 4
  950. *    ôⁿù═
  951. *        a0     VRAM(w)
  952. *        a1     Ydata(w)
  953. *        a2     Udata(w)
  954. *        a3     Vdata(w)
  955. *    Åoù═
  956. *        a2     Udata(w)+(8*4)*2
  957. *        a3     Vdata(w)+(8*4)*2
  958. *
  959. YUV_to_RGB4
  960.  
  961.   move.l  a6,d0
  962.   add.l   #YUV_RGB_TBL+V14020+1024*2*6,d0
  963.   jmp     yuv4_tbl(pc,d1.w)
  964.  
  965.   align 4
  966. yuv4_tbl
  967.  
  968.   bra.w    yr400_yyuv
  969.   bra.w    yr400_y_uv
  970.   bra.w    yr400__yuv
  971.   bra.w    yr400___uv
  972.  
  973.   bra.w    yr400_yy_v
  974.   bra.w    yr400_y__v
  975.   bra.w    yr400__y_v
  976.   bra.w    yr400____v
  977.  
  978.   bra.w    yr400_yyu_
  979.   bra.w    yr400_y_u_
  980.   bra.w    yr400__yu_
  981.   bra.w    yr400___u_
  982.  
  983.   bra.w    yr400_yy__
  984.   bra.w    yr400_y___
  985.   bra.w    yr400__y__
  986. *  bra.w    yr400_normal
  987.  
  988. yr400_normal
  989.  
  990.   move.l a6,d3
  991.   add.l  #RGB_TBL+1024*2*6,d3
  992.   bsr     yr401
  993.   lea     -32*2+4*2(a3),a3
  994.  
  995. yr401
  996.   moveq.l  #8*2,d4
  997.   moveq.l  #4-1,d7
  998. yr405
  999.   moveq.l  #4-1,d6
  1000. yr410
  1001.  
  1002.     convm_v  (a3)+            #8+18+4*3=38
  1003.     conv_u   udata1-vdata1-2(a3)    #48
  1004.     adda.l  d3,a2            #8
  1005.     adda.l  d3,a5            #8
  1006.     adda.l  d3,a6            #8
  1007.     conv_y   (a1)+,(a0)+        #116
  1008.     conv_y2  8*2-4(a1),8*2-4(a0)    #124
  1009.  
  1010.     dbra    d6,yr410            #10
  1011.   addq.w  #4*2,a3
  1012.   add.l   d4,a1
  1013.   add.l   d4,a0
  1014.   dbra    d7,yr405
  1015.   rts
  1016. *
  1017. *
  1018. *
  1019. yr400____v
  1020.  
  1021.   movea.l a6,a2
  1022.   adda.l  #RGB_TBL+1024*2*6,a2
  1023.   movea.l a2,a5            #4
  1024.   movea.l a2,a6            #4
  1025.   conv_V  (a3)            #40
  1026.   move.l  a5,d6            #4
  1027.   move.l  a6,d7            #4
  1028.   lea.l   udata1-vdata1(a3),a3
  1029.  
  1030.   bsr     yr401____v
  1031.   lea     -32*2+4*2(a3),a3
  1032.  
  1033. yr401____v
  1034.   moveq.l  #4-1,d4
  1035. yr405____v
  1036.   moveq.l  #4-1,d5
  1037. yr410____v
  1038.  
  1039.     move.l  d6,a5            #4
  1040.     move.l  d7,a6            #4
  1041.  
  1042.     conv_U   (a3)+
  1043.     conv_y   (a1)+,(a0)+        #116
  1044.     conv_y2  8*2-4(a1),8*2-4(a0)    #124
  1045.  
  1046.     dbra    d5,yr410____v
  1047.   addq.w  #4*2,a3
  1048.   lea.l   8*2(a1),a1
  1049.   lea.l   8*2(a0),a0
  1050.   dbra    d4,yr405____v
  1051.   rts
  1052. *
  1053. *
  1054. *
  1055. yr400___u_
  1056.  
  1057.   movea.l a6,a5
  1058.   adda.l  #RGB_TBL+1024*2*6,a5
  1059.   move.l  a5,d3
  1060.   movea.l a5,a6
  1061.  
  1062.     conv_U  udata1-vdata1(a3)
  1063.  
  1064.   move.l  a5,d6
  1065.   move.l  a6,d7
  1066.  
  1067.   bsr     yr401___u_
  1068.   lea     -32*2+4*2(a3),a3
  1069.  
  1070. yr401___u_
  1071.   moveq.l  #4-1,d4
  1072. yr405___u_
  1073.   moveq.l  #4-1,d5
  1074. yr410___u_
  1075.  
  1076.     convm_v   (a3)+            #38
  1077.     adda.l  d3,a2            #8
  1078.     adda.l  d6,a5            #8
  1079.     adda.l  d7,a6            #8
  1080.     conv_y   (a1)+,(a0)+        #116
  1081.     conv_y2  8*2-4(a1),8*2-4(a0)    #124
  1082.  
  1083.     dbra    d5,yr410___u_
  1084.   addq.w  #4*2,a3
  1085.   lea.l   8*2(a1),a1
  1086.   lea.l   8*2(a0),a0
  1087.   dbra    d4,yr405___u_
  1088.   rts
  1089. *
  1090. *
  1091. *
  1092. yr400___uv
  1093.  
  1094.   movea.l a6,a2
  1095.   adda.l  #RGB_TBL+1024*2*6,a2
  1096.   movea.l a2,a5
  1097.   movea.l a2,a6
  1098.   conv_u  udata1-vdata1(a3)
  1099.   conv_v  (a3)
  1100.   moveq.l #8-1,d4
  1101.  
  1102. yr405___uv
  1103.   moveq.l  #4-1,d5
  1104. yr410___uv
  1105.     conv_y  (a1)+,(a0)+            #116
  1106.     conv_y2 8*2-4(a1),8*2-4(a0)        #116
  1107.     dbra    d5,yr410___uv
  1108.   lea.l    8*2(a1),a1
  1109.   lea.l    8*2(a0),a0
  1110.   dbra    d4,yr405___uv
  1111.   rts
  1112. *
  1113. *
  1114. *
  1115. yr400__y__
  1116.  
  1117.   move.l a6,d3
  1118.   add.l  #RGB_TBL+1024*2*6,d3
  1119.   bsr     yr401__y__
  1120.   lea     -32*2+4*2(a3),a3
  1121.   bra     yr401
  1122. *
  1123. *
  1124. *
  1125. yr400__y_v
  1126.  
  1127.   movea.l a6,a2
  1128.   adda.l  #RGB_TBL+1024*2*6,a2
  1129.   movea.l a2,a5
  1130.   movea.l a2,a6
  1131.   conv_v  (a3)
  1132.   move.l  a5,d6
  1133.   move.l  a6,d7
  1134.   lea.l   udata1-vdata1(a3),a3
  1135.  
  1136.   bsr     yr401__y_v
  1137.   lea     -32*2+4*2(a3),a3
  1138.   bra     yr401____v
  1139. *
  1140. *
  1141. *
  1142. yr400__yu_
  1143.  
  1144.   movea.l a6,a5
  1145.   adda.l  #RGB_TBL+1024*2*6,a5
  1146.   move.l  a5,d3
  1147.   movea.l a5,a6
  1148.  
  1149.   conv_u  udata1-vdata1(a3)
  1150.  
  1151.   move.l  a5,d6
  1152.   move.l  a6,d7
  1153.  
  1154.   bsr     yr401__yu_
  1155.   lea     -32*2+4*2(a3),a3
  1156.   bra     yr401___u_
  1157. *
  1158. *
  1159. *
  1160. yr400__yuv
  1161.  
  1162.   movea.l a6,a2
  1163.   adda.l  #RGB_TBL+1024*2*6,a2
  1164.   movea.l a2,a5
  1165.   movea.l a2,a6
  1166.  
  1167.   conv_u  udata1-vdata1(a3)
  1168.   conv_v  (a3)
  1169.   bsr     yr401__yuv
  1170.   moveq.l #4-1,d4
  1171.   bra     yr405___uv
  1172.  
  1173. *
  1174. *
  1175. *
  1176. yr400_y___
  1177.   move.l a6,d3
  1178.   add.l  #RGB_TBL+1024*2*6,d3
  1179.   bsr     yr401
  1180.   lea     -32*2+4*2(a3),a3
  1181. yr401__y__
  1182.   move.w  (a1),d1
  1183.   ext.l   d1
  1184.   add.l  d1,d3
  1185.   moveq.l  #4-1,d7
  1186. yr405__y__
  1187.   moveq.l  #4-1,d6
  1188. yr410__y__
  1189.  
  1190.     convm_v   (a3)+            #38
  1191.     adda.l  d3,a2            #8
  1192.     adda.l  d3,a5            #8
  1193.     adda.l  d3,a6            #8
  1194.     conv_u   udata1-vdata1-2(a3)
  1195.     conv_cy  (a0)+
  1196.     conv_cy2 8*2-4(a0)
  1197.     dbra    d6,yr410__y__
  1198.   addq.w  #4*2,a3
  1199.   lea.l   8*2(a0),a0
  1200.   dbra    d7,yr405__y__
  1201.   lea.l   64*2(a1),a1
  1202.   sub.l  d1,d3
  1203.   rts
  1204. *
  1205. *
  1206. *
  1207. yr400_y__v
  1208.   movea.l a6,a2
  1209.   adda.l  #RGB_TBL+1024*2*6,a2
  1210.   movea.l a2,a5
  1211.   movea.l a2,a6
  1212.   conv_v  (a3)
  1213.   move.l  a2,d3
  1214.   move.l  a5,d6
  1215.   move.l  a6,d7
  1216.   lea.l   udata1-vdata1(a3),a3
  1217.   bsr     yr401____v
  1218.   lea     -32*2+4*2(a3),a3
  1219. yr401__y_v
  1220.   move.w  (a1),d1
  1221.   ext.l   d1
  1222.   add.l  d1,a2
  1223.   add.l  d1,d6
  1224.   add.l  d1,d7
  1225.   moveq.l  #4-1,d4
  1226. yr405__y_v
  1227.   moveq.l  #4-1,d5
  1228. yr410__y_v
  1229.  
  1230.     move.l  d6,a5            #4
  1231.     move.l  d7,a6            #4
  1232.  
  1233.     conv_u   (a3)+
  1234.     conv_cy  (a0)+
  1235.     conv_cy2 8*2-4(a0)
  1236.  
  1237.     dbra    d5,yr410__y_v
  1238.   addq.w  #4*2,a3
  1239.   lea.l   8*2(a0),a0
  1240.   dbra    d4,yr405__y_v
  1241.   lea.l   64*2(a1),a1
  1242.   sub.l  d1,a2
  1243.   sub.l  d1,d6
  1244.   sub.l  d1,d7
  1245.   rts
  1246. *
  1247. *
  1248. *
  1249. yr400_y_u_
  1250.   movea.l a6,a5
  1251.   adda.l  #RGB_TBL+1024*2*6,a5
  1252.   move.l  a5,d3
  1253.   movea.l a5,a6
  1254.   conv_u  udata1-vdata1(a3)
  1255.   move.l  a5,d6
  1256.   move.l  a6,d7
  1257.   bsr     yr401___u_
  1258.   lea     -32*2+4*2(a3),a3
  1259. yr401__yu_
  1260.   move.w  (a1),d1
  1261.   ext.l   d1
  1262.   add.l  d1,d3
  1263.   add.l  d1,d6
  1264.   add.l  d1,d7
  1265.   moveq.l  #4-1,d4
  1266. yr405__yu_
  1267.   moveq.l  #4-1,d5
  1268. yr410__yu_
  1269.  
  1270.     convm_v   (a3)+            #38
  1271.     adda.l  d3,a2            #8
  1272.     adda.l  d6,a5            #8
  1273.     adda.l  d7,a6            #8
  1274.     conv_cy  (a0)+
  1275.     conv_cy2 8*2-4(a0)
  1276.  
  1277.     dbra    d5,yr410__yu_
  1278.   addq.w  #4*2,a3
  1279.   lea.l   8*2(a0),a0
  1280.   dbra    d4,yr405__yu_
  1281.   lea.l   64*2(a1),a1
  1282.   sub.l  d1,d3
  1283.   sub.l  d1,d6
  1284.   sub.l  d1,d7
  1285.   rts
  1286. *
  1287. *
  1288. *
  1289. yr400_y_uv
  1290.   movea.l a6,a2
  1291.   adda.l  #RGB_TBL+1024*2*6,a2
  1292.   movea.l a2,a5
  1293.   movea.l a2,a6
  1294.   conv_u  udata1-vdata1(a3)
  1295.   conv_v  (a3)
  1296.   moveq.l #4-1,d4
  1297.   bsr     yr405___uv
  1298. yr401__yuv
  1299.   move.w  (a1),a4
  1300.   adda.l  a4,a2
  1301.   adda.l  a4,a5
  1302.   adda.l  a4,a6
  1303.  
  1304.   conv_cy3 d0,d4
  1305.   move.l  d0,d1
  1306.   move.l  d0,d2
  1307.   move.l  d0,d3
  1308.   move.l  d4,d5
  1309.   move.l  d4,d6
  1310.   move.l  d4,d7
  1311.   lea.l   64*2(a0),a0
  1312.   rept    4
  1313.   movem.l d0-d7,-(a0)
  1314.   endm
  1315.   lea.l   64*2(a0),a0
  1316.   lea.l   64*2(a1),a1
  1317.   suba.l  a4,a2
  1318.   suba.l  a4,a5
  1319.   suba.l  a4,a6
  1320.   rts
  1321. *
  1322. *
  1323. *
  1324. yr400_yy__
  1325.   move.l a6,d3
  1326.   add.l  #RGB_TBL+1024*2*6,d3
  1327.   bsr     yr401__y__
  1328.   lea     -32*2+4*2(a3),a3
  1329.   bra     yr401__y__
  1330. *
  1331. *
  1332. *
  1333. yr400_yy_v
  1334.   movea.l a6,a2
  1335.   adda.l  #RGB_TBL+1024*2*6,a2
  1336.   movea.l a2,a5
  1337.   movea.l a2,a6
  1338.   conv_v  (a3)
  1339.   move.l  a5,d6
  1340.   move.l  a6,d7
  1341.   lea.l   udata1-vdata1(a3),a3
  1342.   bsr     yr401__y_v
  1343.   lea     -32*2+4*2(a3),a3
  1344.   bra     yr401__y_v
  1345. *
  1346. *
  1347. *
  1348. yr400_yyu_
  1349.   movea.l a6,a5
  1350.   adda.l  #RGB_TBL+1024*2*6,a5
  1351.   move.l  a5,d3
  1352.   movea.l a5,a6
  1353.   conv_u  udata1-vdata1(a3)
  1354.   move.l  a5,d6
  1355.   move.l  a6,d7
  1356.   bsr     yr401__yu_
  1357.   lea     -32*2+4*2(a3),a3
  1358.   bra     yr401__yu_
  1359. *
  1360. *
  1361. *
  1362. yr400_yyuv
  1363.   movea.l a6,a2
  1364.   adda.l  #RGB_TBL+1024*2*6,a2
  1365.   movea.l a2,a5
  1366.   movea.l a2,a6
  1367.   conv_u  udata1-vdata1(a3)
  1368.   conv_v  (a3)
  1369.  
  1370.   lea.l   64*2*2(a0),a0
  1371.  
  1372.   move.w  64*2(a1),a4
  1373.   adda.l  a4,a2
  1374.   adda.l  a4,a5
  1375.   adda.l  a4,a6
  1376.  
  1377.   conv_cy3 d0,d4
  1378.   move.l  d0,d1
  1379.   move.l  d0,d2
  1380.   move.l  d0,d3
  1381.   move.l  d4,d5
  1382.   move.l  d4,d6
  1383.   move.l  d4,d7
  1384.   rept    4
  1385.   movem.l d0-d7,-(a0)
  1386.   endm
  1387.   suba.l  a4,a2
  1388.   suba.l  a4,a5
  1389.   suba.l  a4,a6
  1390.  
  1391.   move.w  (a1),a4
  1392.   adda.l  a4,a2
  1393.   adda.l  a4,a5
  1394.   adda.l  a4,a6
  1395.  
  1396.   conv_cy3 d0,d4
  1397.   move.l  d0,d1
  1398.   move.l  d0,d2
  1399.   move.l  d0,d3
  1400.   move.l  d4,d5
  1401.   move.l  d4,d6
  1402.   move.l  d4,d7
  1403.   rept    4
  1404.   movem.l d0-d7,-(a0)
  1405.   endm
  1406.  
  1407.   lea.l   64*2*2(a0),a0
  1408. *  lea.l   64*2*2(a1),a1
  1409.   rts
  1410. *
  1411.  
  1412.   .end
  1413.